package com.aauedu.springboot.controller;

import com.aauedu.springboot.exception.AccessException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyErrorController {

    //模拟一个服务器内部错误
    @GetMapping("/error1")
    public String error() {
        System.out.println("你好！");
        int i = 50000000 / 0;//算术异常
        return "monster";
    }

    //这里我们配置的是Post方式请求/err2
    //使用get请求方式，这里就会出现405的客户端错误
    @PostMapping("/err2")
    public String err2() {
        return "monster";
    }

    //编写方法，模拟一个AccessException
    @GetMapping("/error3")
    public String err3(String name) {
        //如果用户不是tom，模拟无权访问权限
        if (!"tom".equals(name)) {
            throw new AccessException("无访问权限！");
        }
//        return "monster.html";  //视图地址,请求转发，user内没有数据
        return "redirect:/monster.html";  //这样才有数据
    }

}
